﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace BUGCOME.Model.Auth.dto
{
    /// <summary>
    /// 系统角色DTO
    /// </summary>
    public class RoleDto 
    {
        /// <summary>
        /// 角色ID
        /// </summary>
        public long RoleId { get; set; }
        
        /// <summary>
        /// 添加的菜单ID集合
        /// </summary>
        public List<long> MenuIds { get; set; } = new List<long>();
        
        /// <summary>
        /// 角色名称
        /// </summary>
        public string RoleName { get; set; }
        
        /// <summary>
        /// 角色标识
        /// </summary>
        public string RoleKey { get; set; }
        
        /// <summary>
        /// 角色排序号
        /// </summary>
        public int RoleSort { get; set; }
        
        /// <summary>
        /// 状态
        /// </summary>
        public int Status { get; set; }
        
        /// <summary>
        /// 数据范围
        /// </summary>
        public int DataScope { get; set; }
        
        /// <summary>
        /// 部门ID数组
        /// </summary>
        public int[] DeptIds { get; set; }
        
        /// <summary>
        /// 移除的菜单ID集合
        /// </summary>
        public List<long> DelMenuIds { get; set; } = new List<long>();
        
        /// <summary>
        /// 菜单检查是否严格
        /// </summary>
        public bool MenuCheckStrictly { get; set; }
       
        /// <summary>
        /// 部门检查是否严格
        /// </summary>
        public bool DeptCheckStrictly { get; set; }

        /// <summary>
        /// 创建人id
        /// </summary>
        public long CreateId { get; set; }

        /// <summary>
        /// 创建人
        /// </summary>
        public string CreateBy { get; set; }
        /// <summary>
        ///创建时间
        /// </summary>
        public DateTime CreateTime { get; set; }

        /// <summary>
        /// 修改人id
        /// </summary>
        public long UpdateId { get; set; }

        /// <summary>
        /// 修改人
        /// </summary>
        public string UpdateBy { get; set; }

        /// <summary>
        /// 修改时间
        /// </summary>
        public DateTime UpdateTime { get; set; }


        /// <summary>
        /// 备注
        /// </summary>
        public string Remark { get; set; }

    }

}
